/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package managers;

import beans.Profesion;
import dao.ProfesionDao;
import java.util.ArrayList;
import java.util.List;
import javax.swing.table.AbstractTableModel;
import util.ProfesionTableModel;

/**
 *
 * @author nMoncho
 */
public class ManagerProfesiones {

    private List<Profesion> profesiones;
    private ArrayList<Profesion> profesionesModelo;
    private ProfesionTableModel model;
    private List<Profesion> profesionesABorrar;

    public ManagerProfesiones(){
        profesiones = ProfesionDao.getProfesiones();
        rellenarModelo();

        profesionesABorrar = new ArrayList<Profesion>();
    }

    private void rellenarModelo() {
        profesionesModelo = new ArrayList<Profesion>();
        profesionesModelo.addAll(profesiones);

        model = new ProfesionTableModel(profesionesModelo);
    }

    public AbstractTableModel getModel(){
        return model;
    }

    public boolean agregarProfesion(String nombre){
        for(Profesion profesion : profesiones){
            if(profesion.getNombre().toLowerCase().compareTo(nombre.toLowerCase()) == 0)
                return false;
        }

        Profesion profesion = new Profesion();
        profesion.setNombre(nombre);

        profesiones.add(profesion);
        profesionesModelo.add(profesion);

        return true;
    }

    public void borrarProfesion(int fila){
        Profesion profesion = profesionesModelo.get(fila);

        profesionesModelo.remove(profesion);
        profesiones.remove(profesion);

        profesionesABorrar.add(profesion);
    }

    public boolean guardarCambios(){
        boolean exito = ProfesionDao.saveOrUpdateOrDelete(profesiones, profesionesABorrar);

        return exito;
    }

}
